package logica;
/**
**********************************************************************************************<br/>
* Mantiene la relacion del vertice a,vertice b (verticeDestino) y el costo de una relacion del grafo.
* @author Jefferson Amado Peña Torres
**********************************************************************************************
* @version 0.1
*/
public class Relacion {
	private String verticeA; //nombre del vertice de partida
	private String verticeB; //nombre del vertice final
	private double costo;  //costo de la arista
	private boolean visitado;
	/**
	*Contruye una relacion entre dos vertices con su peso
	*@param verticeA
	*@param verticeB
	*@param costo
	*/
	public Relacion(String verticeA, String verticeB, double costo){
		//System.out.println("Relacion <:"+verticeA+" -> "+verticeB+" :> con costo:"+costo+" \n");
		this.verticeA = verticeA;
		this.verticeB = verticeB;
		this.costo = costo;
		this.visitado=false;
	}
	/**
	*Retorna el costo de la relacion entre dos vertices
	*@return double costo de la relacion
	*/
	public double getCosto(){
		return costo;
	}
	/**
	*Establece el costo de la relacion entre dos vertices
	*@param costo costo de la relacion
	*/
	public void setCosto(double costo){
		this.costo = costo;
	}
	/**
	*Obtengo el verticeA de la relacion
	*@return nombre del vertice de partida (VerticeA)
	*/ 
	public String getVerticePartida(){
		return verticeA;
	}
	/**
	*Establece el verticeA de la relacion
	*@param verticeA del vertice de partida (VerticeA)
	*/  
	public void setVerticePartida(String verticeA){
		this.verticeA = verticeA;
	}
	/**
	*Establesco si se esta relacion ya ha sido visitada
	*@return true
	*/  
	public void esVisitado(boolean visitado){
		this.visitado=visitado;
	}
	/**
	*Obtengo se esta relacion ya ha sido visitada
	*@return true
	*/  
	public boolean esVisitado(){
		return visitado;
	}
	/**
	*Obtengo el verticeA de la relacion
	*@return nombre del vertice de destino (VerticeA)
	*/  
	public String getVerticeLlegada(){
		return verticeB;
	}
	/**
	*Establece el verticeB de la relacion
	*@param verticeB del vertice de destino (VerticeB)
	*/   
	public void setVerticeLlegada(String verticeB){
		this.verticeB = verticeB;
	}
	/**
	*Convierte la relacion en cadena
	*@return [vertice de partida,vertice de llegada,costo]
	*/ 
	public String toString(){
		return "[" + verticeA + ", " + verticeB + ", " + costo + "]";
	}
}
//Jefferson Amado Peña Torres
